fix(release): fail loud when a release PR should exist but doesn't#68
Merged
Conversation
The release-pr CLI call is wrapped in `|| true`, so an API error or a scan regression leaves the run green with no release PR — exactly how the 2026-07-09 silent skip hid for weeks. This assertion fails the run loudly when next carries user-facing (feat/fix) or Release-As commits since the latest release but no open release-please PR exists.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to the
--localscan fix: converts any future "no release PR" regression from a silent green run into a red one.Logic: after the release-pr + sync steps (next pushes only), count
feat:/fix:/Release-Ascommits inlatest_tag..HEAD; if any exist and no openrelease-please--*PR is found (3 attempts, 10s apart), fail with::error. Skips cleanly when there are no releases yet, the tag isn't in the clone, or there's genuinely nothing user-facing.🤖 Generated with Claude Code